/* Contem os campos a serem gravados no Banco de Dados */
package avaliacao.DTO;

import avaliacao.Exception.Err;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.ListIterator;

//data transfer object
public class DTOAvaliacao implements Serializable {

    private int m_id;
    private DTOAvaliador m_avaliador;
    private DTOUniversidade m_escola;
    ArrayList<DTOQuestion> m_lista;

    /** Retorna a chave primária */
    public Integer getM_id() {
        return m_id;
    }

    public DTOAvaliador getM_avaliador() {
        return m_avaliador;
    }

    public DTOUniversidade getM_escola() {
        return m_escola;
    }

    public ArrayList<DTOQuestion> getM_lista() {
        return m_lista;
    }

    /** Seta a chave primária */
    public void setM_id(Integer id) {
        this.m_id = id;
    }

    public void setM_avaliador(DTOAvaliador m_avaliador) {
        this.m_avaliador = m_avaliador;
    }

    public void setM_escola(DTOUniversidade m_escola) {
        this.m_escola = m_escola;
    }

    public void setM_lista(ArrayList<DTOQuestion> m_lista) {
        this.m_lista = m_lista;
    }

    
    public void addQuestion(DTOQuestion quest) {
        this.m_lista.add(quest);
    }

    public String delQuestion(DTOQuestion quest) {
        if (this.m_lista.isEmpty()) {
            return Err.BlankList;
        } else {
            ListIterator<DTOQuestion> it = this.m_lista.listIterator();
            DTOQuestion quAux = new DTOQuestion();

            while (it.hasNext()) {
                quAux = it.next();
                if (quest.getM_id_pergunta() == quAux.getM_id_pergunta()) {
                    it.remove();
                    return Err.OK;
                }//if quest...
            }//while hasNext
        }//else

        return Err.ObjNtFound;
    }

    public void clearAllQuestion() {
        this.m_lista.clear();

    }
}
